/**
 * @file Name: 8.cpp
 * @author: Fenghuwuyu
 * @version: 1.0
 * @brief:
 * @date: Sat 22 May 2021 01:04:12 AM PDT
 */

#include<iostream>
int main()

// Templates:
//
//
// template<typename T>
// class Vector
// {
//		private:
//			T *elem;
//			int sz;
//		public:
//			Vector(int s);
//			~Vector(){delete [] elem;}
//
//			// copy and move operations
//
//			T& operator[](int i);
//			const T& operator[](int i) const;
//			int size() const{return sz;}
// }
//
//
// template<typename T>
// Vector<T>::Vector(int s)
// {
//		if(s<0) throw Negative_size{};
//		elem = new T[s];
//		sz = s;
// }
//
//
// Function templates:
//
// template<typename Container, typename Value>
// Value sum(const Container& c, Value c)
// {
//		for(auto x : c)
//		{
//			v += x;
//		}
//		return v;
// }
//
// standard-library's function accumulate() is such a version of sum.
//
